home *** CD-ROM | disk | FTP | other *** search
- package sun.misc;
-
- import java.io.File;
- import java.io.IOException;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLStreamHandler;
- import java.net.URLStreamHandlerFactory;
- import java.security.AccessController;
- import sun.net.www.ParseUtil;
- import sun.security.action.GetPropertyAction;
-
- public class Launcher {
- private static URLStreamHandlerFactory factory = new Factory((1)null);
- private static Launcher launcher = new Launcher();
- private ClassLoader loader;
- private static URLStreamHandler fileHandler;
-
- public static Launcher getLauncher() {
- return launcher;
- }
-
- public Launcher() {
- ExtClassLoader var1;
- try {
- var1 = sun.misc.Launcher.ExtClassLoader.getExtClassLoader();
- } catch (IOException var10) {
- throw new InternalError("Could not create extension class loader");
- }
-
- try {
- this.loader = sun.misc.Launcher.AppClassLoader.getAppClassLoader(var1);
- } catch (IOException var9) {
- throw new InternalError("Could not create application class loader");
- }
-
- Thread.currentThread().setContextClassLoader(this.loader);
- String var2 = System.getProperty("java.security.manager");
- if (var2 != null) {
- SecurityManager var3 = null;
- if (!"".equals(var2) && !"default".equals(var2)) {
- try {
- var3 = (SecurityManager)this.loader.loadClass(var2).newInstance();
- } catch (IllegalAccessException var5) {
- } catch (InstantiationException var6) {
- } catch (ClassNotFoundException var7) {
- } catch (ClassCastException var8) {
- }
- } else {
- var3 = new SecurityManager();
- }
-
- if (var3 == null) {
- throw new InternalError("Could not create SecurityManager: " + var2);
- }
-
- System.setSecurityManager(var3);
- }
-
- }
-
- public ClassLoader getClassLoader() {
- return this.loader;
- }
-
- public static URLClassPath getBootstrapClassPath() {
- String var0 = (String)AccessController.doPrivileged(new GetPropertyAction("sun.boot.class.path"));
- URL[] var1;
- if (var0 != null) {
- var1 = (URL[])AccessController.doPrivileged(new 1(var0));
- } else {
- var1 = new URL[0];
- }
-
- return new URLClassPath(var1, factory);
- }
-
- private static URL[] pathToURLs(File[] var0) {
- URL[] var1 = new URL[var0.length];
-
- for(int var2 = 0; var2 < var0.length; ++var2) {
- var1[var2] = getFileURL(var0[var2]);
- }
-
- return var1;
- }
-
- private static File[] getClassPath(String var0) {
- File[] var1;
- if (var0 != null) {
- int var2 = 0;
- int var3 = 1;
- int var4 = 0;
-
- for(int var5 = 0; (var4 = var0.indexOf(File.pathSeparator, var5)) != -1; var5 = var4 + 1) {
- ++var3;
- }
-
- var1 = new File[var3];
- var4 = 0;
-
- int var11;
- for(var11 = 0; (var4 = var0.indexOf(File.pathSeparator, var11)) != -1; var11 = var4 + 1) {
- if (var4 - var11 > 0) {
- var1[var2++] = new File(var0.substring(var11, var4));
- } else {
- var1[var2++] = new File(".");
- }
- }
-
- if (var11 < var0.length()) {
- var1[var2++] = new File(var0.substring(var11));
- } else {
- var1[var2++] = new File(".");
- }
-
- if (var2 != var3) {
- File[] var6 = new File[var2];
- System.arraycopy(var1, 0, var6, 0, var2);
- var1 = var6;
- }
- } else {
- var1 = new File[0];
- }
-
- return var1;
- }
-
- static URL getFileURL(File var0) {
- try {
- var0 = var0.getCanonicalFile();
- } catch (IOException var3) {
- }
-
- try {
- return ParseUtil.fileToEncodedURL(var0);
- } catch (MalformedURLException var2) {
- throw new InternalError();
- }
- }
-
- // $FF: synthetic method
- static URLStreamHandlerFactory access$100() {
- return factory;
- }
-
- // $FF: synthetic method
- static File[] access$200(String var0) {
- return getClassPath(var0);
- }
-
- // $FF: synthetic method
- static URL[] access$300(File[] var0) {
- return pathToURLs(var0);
- }
- }
-